package com.demo2.todo.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import com.demo2.todo.model.entity.Comment;
import java.util.List;

/**
 * @author evi
 */
public interface CommentRepository extends JpaRepository<Comment, Long> {

    /**
     * 根据待办事项ID查询所有评论，按创建时间排序
     */
    List<Comment> findByTodoIdOrderByCreatedAt(Long todoId);

    /**
     * 检查父评论是否存在
     */
    boolean existsByIdAndTodoId(Long commentId, Long todoId);

    /**
     * 根据用户ID删除评论
     */
    void deleteByUserId(Long userId);

    /**
     * 按父评论ID查询所有子评论，按创建时间排序
     */
    List<Comment> findByParentIdOrderByCreatedAt(Long parentId);

    List<Comment> findByParentId(Long id);

    List<Comment> findByTodoIdAndParentIdIsNull(Long todoId);
}
